﻿using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using WeShare.WeiXin.Mp.MsgEntity;
using WeShare.WeiXin.Mp.UserManage;

namespace WebApp
{
    public class MsgHandler : BaseMsgHandler
    {
        public override string BeforeHandler(BaseMsg msg, string xml)
        {
            return base.BeforeHandler(msg, xml);
        }
        public async override Task<string> TextHandlerAsync(TextMsg msg)
        {
            return await Task.Run(() =>
                 {
                     return msg.ResponseTxt(msg.Content + $"(当前appid:{msg.Param.appid}上次交互时间：{msg.LastTime})");
                 });
        }
        public override string ImageHandler(ImgMsg msg)
        {
            return msg.ResponseImg(msg.MediaId);
        }

        public override string VideoHandler(VideoMsg msg)
        {
            return base.VideoHandler(msg);
        }

        public override string VoiceHandler(VoiceMsg msg)
        {
            return msg.ResponseVoice(msg.MediaId);
        }

        public override async Task<string> MenuClickHandlerAsync(BaseMenuEventMsg msg)
        {
            return await Task.Run(() =>
            {
                return msg.ResponseTxt(msg.EventKey);
            });
        }

        public override string MenuViewHandler(ViewEventMsg msg)
        {
            return "";
        }

        public override string UserGetCardHandler(UserGetCardEventMsg msg)
        {
            var aa = UserApi.Get(msg.FromUserName);
            return base.UserGetCardHandler(msg);
        }

        public override string MenuLocationHandler(LocationMenuEventMsg msg)
        {
            return msg.SendLocationInfo.Label;
        }
    }
}
